int vnc_display_port;
char password[20];
vnc_display_init(ds);
- if (xenstore_read_vncpasswd(domid, password, sizeof(password)) < 0)
- exit(0);
+ xenstore_read_vncpasswd(domid, password, sizeof(password));
vnc_display_password(ds, password);
if ((vnc_display_port = vnc_display_open(ds, vnc_display, vncunused)) < 0)
exit (0);
void xenstore_record_dm_state(char *state);
void xenstore_check_new_media_present(int timeout);
void xenstore_write_vncport(int vnc_display);
-int xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen);
+void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen);
int xenstore_domain_has_devtype(struct xs_handle *handle,
const char *devtype);
free(buf);
}
-int xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen)
+void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen)
{
char *buf = NULL, *path, *uuid = NULL, *passwd = NULL;
unsigned int i, len, rc = 0;
- if (xsh == NULL) {
- return -1;
- }
+ pwbuf[0] = '\0';
+
+ if (xsh == NULL)
+ return;
path = xs_get_domain_path(xsh, domid);
if (path == NULL) {
fprintf(logfile, "xs_get_domain_path() error. domid %d.\n", domid);
- return -1;
+ return;
}
pasprintf(&buf, "%s/vm", path);
if (uuid == NULL) {
fprintf(logfile, "xs_read(): uuid get error. %s.\n", buf);
free(path);
- return -1;
+ return;
}
pasprintf(&buf, "%s/vncpasswd", uuid);
passwd = xs_read(xsh, XBT_NULL, buf, &len);
if (passwd == NULL) {
fprintf(logfile, "xs_read(): vncpasswd get error. %s.\n", buf);
- pwbuf[0] = '\0';
free(uuid);
free(path);
- return rc;
+ return;
}
- for (i=0; i<len && i<pwbuflen; i++) {
+ for (i=0; i<len && i<pwbuflen; i++)
pwbuf[i] = passwd[i];
- }
pwbuf[len < (pwbuflen-1) ? len : (pwbuflen-1)] = '\0';
passwd[0] = '\0';
pasprintf(&buf, "%s/vncpasswd", uuid);
- if (xs_write(xsh, XBT_NULL, buf, passwd, len) == 0) {
+ if (xs_write(xsh, XBT_NULL, buf, passwd, len) == 0)
fprintf(logfile, "xs_write() vncpasswd failed.\n");
- rc = -1;
- }
free(passwd);
free(uuid);
free(path);
-
- return rc;
}